مشخصات مقاله
-
518
-
0.0
-
1717
-
0
-
0
آموزش SI With Collection-Java Spring
SI توسط مجموعه
مثال تزریق setter توسط مجموعه
در فریمورک اسپرینگ می توان با استفاده از متد setter به تزریق مقادیر مجموعه پرداخت. از سه عنصر list، set و map می توان داخل عنصر خصیصه(property) استفاده کرد. هر مجموعه می تواند مقادیر مبتنی بر رشته یا غیر رشته داشته باشد.
این مثال برگرفته از فرومی است که" یک سوال می تواند چندین پاسخ داشته باشد" و دارای سه فایل زیر است:
1. Question.java
2. applicationContext.xml
3. Test.java
در این مثال ما از list استفاده می کنیم که قابلیت داشتن عناصر تکراری را دارد. شما می توانید از set که تنها شامل عناصر یکتا است استفاده کنید. در صورت استفاده از set، در فایل applicationContext.xml ، list را به set و در فایل Question.java ،List را به Set تغییر دهید.
Question.java:
این کلاس شامل سه خصیصه به همراه setter و getter های آن و متد displayInfo() برای چاپ اطلاعات است. در اینجا از list برای ذخیره پاسخ ها استفاده می کنیم.
package com.javatpoint;
import java.util.Iterator;
import java.util.List;
public class Question {
private int id;
private String name;
private List< String> answers;
//setters and getters
public void displayInfo(){
System.out.println(id+" "+name);
System.out.println("answers are:");
Iterator< String> itr=answers.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
applicationContext.xml:
برای تعریف لیست از عنصر لیست constructor-arg استفاده می شود.
< ?xml version="1.0" encoding="UTF-8" ?>
< beans 3. xmlns="http://www.springframework.org/schema/beans"
4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5. xmlns:p="http://www.springframework.org/schema/p"
6. xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
< bean id="q" class="com.javatpoint.Question">
< property name="id" value="1">< /property>
< property name="name" value="What is Java?">< /property>
< property name="answers">
< list>
< value>Java is a programming language< /value>
< value>Java is a platform< /value>
< value>Java is an Island< /value>
< /list>
< /property>
< /bean>
< /beans>
Test.java:
این کلاس bean را از فایل applicationContext.xml می گیرد و متد displayInfo را فراخوانی می کند.
package com.javatpoint;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
public class Test {
public static void main(String[] args) {
Resource r=new ClassPathResource("applicationContext.xml");
BeanFactory factory=new XmlBeanFactory(r);
Question q=(Question)factory.getBean("q");
q.displayInfo();
}
}